<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of DaoPaciente
 *
 * @author amartinez
 */
include_once '../../controlador/php/conexion/Conexion.php';
class DaoPaciente {
    private $TipoIdentificionOid;
    private $Identificacion;
    private $FechaNaci;
    private $PrimerNomb;
    private $SegundoNomb;
    private $PrimerApel;
    private $SegundoApel;
    private $CiudadOid;
    private $Direccion;
    private $EpsOid;
    private $Telefono;
            
    function __construct($TipoIdentificionOid,$Identificacion,$FechaNaci,$PrimerNomb,$SegundoNomb,$PrimerApel,$SegundoApel,$CiudadOid,$Direccion,$EpsOid,$Telefono) {
        $this->TipoIdentificionOid = $TipoIdentificionOid;
        $this->Identificacion = $Identificacion;
        $this->FechaNaci = $FechaNaci;
        $this->PrimerNomb = $PrimerNomb;
        $this->SegundoNomb = $SegundoNomb;
        $this->PrimerApel = $PrimerApel;
        $this->SegundoApel = $SegundoApel;
        $this->CiudadOid = $CiudadOid;
        $this->Direccion = $Direccion;
        $this->EpsOid = $EpsOid;
        $this->Telefono = $Telefono;
    } 
    
    public function getTipoIdentificionOid(){
        return $this->TipoIdentificionOid;
    }
    public function setTipoIdentificionOid($TipoIdentificionOid){
        $this->TipoIdentificionOid = $TipoIdentificionOid;
    }
    public function getIdentificacion(){
        return $this->Identificacion;
    }
    public function setIdentificacion($Identificacion){
        $this->Identificacion = $Identificacion;
    }
    public function getFechaNaci(){
        return $this->FechaNaci;
    }
    public function setFechaNaci($FechaNaci){
        $this->FechaNaci = $FechaNaci;
    }
    public function getPrimerNomb(){
        return $this->PrimerNomb;
    }
    public function setPrimerNomb($PrimerNomb){
        $this->PrimerNomb = $PrimerNomb;
    }
    public function getSegundoNomb(){
        return $this->SegundoNomb;
    }
    public function setSegundoNomb($SegundoNomb){
        $this->SegundoNomb = $SegundoNomb;
    }
    public function getPrimerApel(){
        return $this->PrimerApel;
    }
    public function setPrimerApel($PrimerApel){
        $this->PrimerApel = $PrimerApel;
    }
    public function getSegundoApel(){
        return $this->SegundoApel;
    }
    public function setSegundoApel($SegundoApel){
        $this->SegundoApel = $SegundoApel;
    }
    public function getCiudadOid(){
        return $this->CiudadOid;
    }
    public function setCiudadOid($CiudadOid){
        $this->CiudadOid = $CiudadOid;
    }
    public function getDireccion(){
        return $this->Direccion;
    }
    public function setDireccion($Direccion){
        $this->Direccion = $Direccion;
    }
    public function getEpsOid(){
        return $this->EpsOid;
    }
    public function setEpsOid($EpsOid){
        $this->EpsOid = $EpsOid;
    }
    public function getTelefono(){
        return $this->Telefono;
    }
    public function setTelefono($Telefono){
        $this->Telefono = $Telefono;
    }
    
    function RegistrarPaciente(){
         
        $con = new Conexion();
        
        $ERROR = '1';
        $FechaNacimiento= date('Y-m-d H:i:s',strtotime($this->FechaNaci));
        $stmt = mssql_init('Usp_RecIngPaciente');
        
        mssql_bind($stmt, '@TipoIdentificionOid', $this->TipoIdentificionOid, SQLINT4);
        mssql_bind($stmt, '@Identificacion ', $this->Identificacion, SQLVARCHAR, false, false, 10);
        mssql_bind($stmt, "@FechaNaci", $FechaNacimiento, SQLVARCHAR);
        mssql_bind($stmt, '@PRIMERNOMBRE ', $this->PrimerNomb, SQLVARCHAR, false, false, 10);
        mssql_bind($stmt, '@SEGUNDONOMBRE ', $this->SegundoNomb, SQLVARCHAR, false, false, 10);
        mssql_bind($stmt, '@PRIMERAPELLIDO ', $this->PrimerApel, SQLVARCHAR, false, false, 10);
        mssql_bind($stmt, '@SEGUNDOAPELLIDO ', $this->SegundoApel, SQLVARCHAR, false, false, 10);
        mssql_bind($stmt, '@CIUDADOID ', $this->CiudadOid, SQLINT4);
        mssql_bind($stmt, '@DIRECCION ', $this->Direccion, SQLVARCHAR, false, false, 10);
        mssql_bind($stmt, '@TELEFONO ', $this->Telefono, SQLVARCHAR, false, false, 10);
        mssql_bind($stmt, '@EPSOID ', $this->EpsOid, SQLINT4);
        mssql_bind($stmt, '@ERROR ', $ERROR, SQLINT4);
        
        mssql_execute($stmt);
        mssql_free_statement($stmt);
        
        
        
        $con->cerrarConexion();
    }
    function DatosPaciente(){
        $con = new Conexion();
        
        if ($this->Identificacion == ""){
            $Consulta = "";
        }else{
            $Consulta = "WHERE Identificacion LIKE '%".$this->Identificacion."%'";
        }
        
        
        $DatosPacientes = "SELECT TipoIdentificionOid,B.Nombre AS TipoDocumento,Identificacion,FechaNaci,DATEDIFF(YEAR,FechaNaci,GETDATE())AS Edad,
                           PrimerNomb + '  '+SegundoNomb+' ' + PrimerApel + '  ' + SegundoApel AS NombreCompleto,
                           PrimerNomb,SegundoNomb,PrimerApel,SegundoApel,
                           E.Oid AS DepartamentoOid,E.Nombre AS Departamento,C.Oid AS CiudadOid,C.Nombre AS Ciudad,Direccion,Telefono,EpsOid,D.nombreps
                           FROM Rec_Paciente_New AS A 
                           INNER JOIN Rec_TipoIdentificacion_New AS B ON A.TipoIdentificionOid = B.Oid
                           INNER JOIN Rec_Ciudad_New AS C ON A.CiudadOid = C.Oid
                           INNER JOIN Rec_Eps_New AS D ON A.EpsOid = D.OID
                           INNER JOIN Rec_Departamento_New AS E ON C.DeptoOid = E.Oid
                           $Consulta";
        $Respuesta = $con ->query($DatosPacientes);
        
        while ($Respuesta2 = mssql_fetch_array($Respuesta)){

        $Lista[] = array_map(utf8_encode, $Respuesta2);
        }

        print_r(json_encode($Lista));
        $con->cerrarConexion();
    }
    function EditarPaciente($TipoIdentificionOid, $Identificacion, $FechaNaci, $PrimerNomb, $SegundoNomb, $PrimerApel, $SegundoApel, $CiudadOid, $Direccion, $EpsOid, $Telefono,$ListaOid,$OidRecepcion,$MedicoOid,$EnfermeraOid){
        $con = new Conexion();
        
        $FechaNacimiento= date('Y-m-d H:i:s',strtotime($FechaNaci));
        
        $EditarPacientes = "UPDATE Rec_Paciente_New
                            SET FechaNaci ='".$FechaNacimiento."',
                            PrimerNomb = '".$PrimerNomb."',
                            SegundoNomb = '".$SegundoNomb."',
                            PrimerApel = '".$PrimerApel."',
                            SegundoApel = '".$SegundoApel."',
                            CiudadOid = '".$CiudadOid."',
                            Direccion = '".$Direccion."',
                            Telefono = '".$Telefono."',
                            EpsOid = '".$EpsOid."',
                            TipoIdentificionOid = '".$TipoIdentificionOid."'
                            WHERE Identificacion = '".$Identificacion."'";
        $con ->query($EditarPacientes);
        
        $EditarRecepcion = "UPDATE Rec_RecepcionMaestro_New
                            SET MedicoOid = '".$MedicoOid."',
                                JefeOid = '".$EnfermeraOid."'
                            WHERE Oid = '".$OidRecepcion."'";
        $con ->query($EditarRecepcion);
        
        $EliminarCausa = "DELETE  Rec_CausasRecepcion_new WHERE RecepcionOid = '".$OidRecepcion."'";
        $con ->query($EliminarCausa);
        
        $i = 0;
        $Lista = count($ListaOid);
         
        while ($i <= $Lista){
         
            $EXITO = '1';
            $stmt = mssql_init('Usp_IngCausasRecepcion');
            
            mssql_bind($stmt, '@OidCausa', $ListaOid[$i], SQLINT4);
            mssql_bind($stmt, '@RecepcionOid', $OidRecepcion, SQLINT4);
            mssql_bind($stmt, '@ERROR', $EXITO, SQLINT4);

            mssql_execute($stmt);
            mssql_free_statement($stmt);
            
            $i++;
            
        }
        
        $con->cerrarConexion();
    }
}

?>
